import gmpy2
import libnum
import sympy


e= 65537
phi= 111438859385212428148481031118733621985263239027759050602758690001269126931107597951630888991392455592605063206736304140942684380537173653743577098953927603519733233959472812849515187480572377732277271705203022501156361519456379646595375084946665911282264954826131284380983550947897241882426835909937959263900
c= 46861144338584521444602861573315805443255260697668912840328385618833954964496588506239061767946762843534759456360995606541896084372139027954655652010205614427974394691218361195942346078349389688729998778546840789146971932158990271080566287563465126392634789486076343500724139380598143576754615226284474633529
p1= -9235464617922894138629634187378977826482936299251752801837193398104074043693982004255519219730228961174312568331044191853040612620853766014741675267666409
q1= -183407508108176489424750504254369461709634846301662502785737451043487567569232022990854768957854022755627971933382612871863921376955798189700083037408071

p = sympy.symbols('p')
q = sympy.symbols('q')
f1 = p1 * p + q1 * q - 1 +p * q
f2 = (p - 1) * (q - 1) - phi
pq = sympy.solve([f1, f2], [p, q])
p = (pq[1][0])
q = (pq[1][1])
n = p * q
d = gmpy2.invert(e, phi)
m = pow(c, int(d), int(n))
print(libnum.n2s(int(m)))
